How to setup a module for sharing (using DXL)?

I want to setup a module for sharing. How to do it in DXL?

Is it enough to disable to inheritance or must I set the access record of the objects?
thsturm - Mon Aug 16 07:18:52 EDT 2010

Re: How to setup a module for sharing (using DXL)?
Mathias Mamsch - Mon Aug 16 10:37:27 EDT 2010

It is enough to remove inheritance, although you need to keep in mind that changes to the access rights of the module will not be passed down to the object, meaning, that whenever you change your access rights to your module, you need to re-inherit and re-share the access again. I usually use this script to make a section from every heading below level 3. Usually that works fine.
 

for obj in entire current Module do { inherited obj }
 
for obj in entire current Module do { 
    if (cell obj || table obj || row obj) continue
        if (obj."Object Heading" "" != "" && level obj <= 3) specific obj 
}

 


Regards, Mathias

 

 

 


Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS

 

 

Re: How to setup a module for sharing (using DXL)?
thsturm - Mon Aug 16 11:06:26 EDT 2010

Mathias Mamsch - Mon Aug 16 10:37:27 EDT 2010

It is enough to remove inheritance, although you need to keep in mind that changes to the access rights of the module will not be passed down to the object, meaning, that whenever you change your access rights to your module, you need to re-inherit and re-share the access again. I usually use this script to make a section from every heading below level 3. Usually that works fine.
 

for obj in entire current Module do { inherited obj }
 
for obj in entire current Module do { 
    if (cell obj || table obj || row obj) continue
        if (obj."Object Heading" "" != "" && level obj <= 3) specific obj 
}

 


Regards, Mathias

 

 

 


Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS

 

 

Thank you for this snippet, I will try it tomorrow.

Re: How to setup a module for sharing (using DXL)?
llandale - Mon Aug 16 18:20:01 EDT 2010

Mathias Mamsch - Mon Aug 16 10:37:27 EDT 2010

It is enough to remove inheritance, although you need to keep in mind that changes to the access rights of the module will not be passed down to the object, meaning, that whenever you change your access rights to your module, you need to re-inherit and re-share the access again. I usually use this script to make a section from every heading below level 3. Usually that works fine.
 

for obj in entire current Module do { inherited obj }
 
for obj in entire current Module do { 
    if (cell obj || table obj || row obj) continue
        if (obj."Object Heading" "" != "" && level obj <= 3) specific obj 
}

 


Regards, Mathias

 

 

 


Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS

 

 

Without proof, its my understanding that if you issue a "save(mod)" after the first loop you will force re-connection of the various parts of the module in the database, drastically improving overall load times of that module. Re-fragmentation (and performance degradation) will occur as you lock the sections ..err.. as you save locked sections, not as you define them in the 2nd loop.

  • Louie

Don't forget "if (isDeleted(obj)) continue" in the second loop, or in both loops when your version is 9.2.0.1.

Re: How to setup a module for sharing (using DXL)?
Mathias Mamsch - Wed Aug 18 08:27:34 EDT 2010

llandale - Mon Aug 16 18:20:01 EDT 2010
Without proof, its my understanding that if you issue a "save(mod)" after the first loop you will force re-connection of the various parts of the module in the database, drastically improving overall load times of that module. Re-fragmentation (and performance degradation) will occur as you lock the sections ..err.. as you save locked sections, not as you define them in the 2nd loop.

  • Louie

Don't forget "if (isDeleted(obj)) continue" in the second loop, or in both loops when your version is 9.2.0.1.

The save() seems like a good trick ... But why would you not change the access on deleted objects? Regards, Mathias


Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS